The present invention relates to communication systems in general, and to methods and systems for managing broadband multimedia communication, in particular.
Broadband communication systems are known in the art. The main types include video oriented communication systems and data oriented communication systems. Video oriented communication systems were originally designed for television broadcast transmissions and today include modifications, which enable narrow-cast transmissions as well as data communications there through. Data oriented communication systems are used for a plurality of data and multimedia applications. Conventionally, downstream channels (from the cable service operator to the end user) are used to carry either only IP packets (using DOCSIS for example) or only native MPEG programs over MPEG transport. This requires the cable operator to perform fixed allocation of downstream resources for different services, which limits the resource usage efficiency, especially for the downstream bandwidth.
Cable Modem Termination Systems (CMTS) are known in the art. Such systems are installed in a cable head-end and are connected to a plurality (conventionally thousands) of Cable Modems (CM) via a Hybrid Fiber/Coaxial (HFC) Network. A conventional single CMTS board transmits downstream information on a single channel and receives upstream information from one or more (usually not more than 8) upstream channels. Upstream channels which are connected to a single CMTS board, can be received from many nodes (usually for areas which are characterized by a small number of cable modem users) or from a single node (usually for areas which are characterized by a large number of cable modem users).
The operation of a conventional CMTS is generally predefined, where the cable modem users are configured to utilize a specific CMTS downstream channel. Each CMTS downstream channel has specific associated upstream channels. The CMTS board uses its associated downstream channel, to provide upstream channels and time slot information to the CMs on which they can transmit information back to the head-end, at any given time.
An article, xe2x80x9cMultimedia Traffic Engineering for HFC Networksxe2x80x9d by John T. Chapman from Cisco Systems (Nov. 29, 1999), discusses possible CMTS architectures contingent on penetration of CMs and broadband services.
Using prior art systems, DOCSIS upstream channels are rigidly coupled to their associated downstream channel. In high penetration areas serving high bandwidth applications, there is a need to provide several downstream channels per each given node. Accordingly, the entire group of cable modem subscribers in that node has to be divided into smaller groups, where each group is assigned and served by a separate downstream channel, and some upstream channels that are associated therewith. It will be appreciated by those skilled in the art that this architecture utilizes upstream bandwidth inefficiently, since upstream resources are fixed allocated to each group rather than dynamically allocated between the groups, which are associated with the same node. In addition, there is a major reliability/redundancy hazard in a case where only one upstream channel is allocated to each DOCSIS MAC domain (i.e. for each downstream channel).
Digital video and other media are typically transmitted in a compressed form, encapsulated in MPEG transport packets, which include information associating them to a specific stream. It is noted that MPEG transport packets do not include neither source address information nor destination address information and hence can not be switched, using networking methods and systems, which are known in the art.
U.S. Pat. No. 5,719,862 to Lee, et al., and entitled xe2x80x9cPacket-Based Dynamic De-Skewing for Network Switch with Local or Central Clockxe2x80x9d, is directed to a network switch with packet-based de-skewing. A switch core switches between a plurality of source media-access controllers (MAC""s) and a plurality of destination MAC""s. Each source MAC is provided with a framer, and each destination MAC is provided with a de-skew circuit. A clock source provides input to each framer and each de-skew circuit. Each link is provided with a single serial data line through the switch core. The framer receives a serial data packet from the source MAC, and adds a start flag sequence (header) to the packet. As communication links are broken and new links are established, the new links introduce a different amount of skew. The de-skew circuit measures the clock skew of the packet received through the new link, by comparing the phases of the received start flag sequence, and a known start flag sequence.
U.S. Pat. No. 5,742,761 to Olnowich, et al., entitled xe2x80x9cApparatus for Adapting Message Protocols for a Switch Network and a Busxe2x80x9d, is directed to a system for inter-linking a plurality of computers connected to a switch network. Each computer is connected to a Micro-Channel (MC) converter unit via a MC bus, and each MC converter is connected to the input and output port of the switch network. Each of the computer resources such as processor, memory, and I/O units is connected to a slot on the MC bus. The MC converter converts the address of a resource on a remote computer, as requested by a client, to a means for locating the exact MC island. The switch network establishes the link between the client and the remote computer. The client transfers data to the MC converter of the remote computer, and this MC converter transfers the data to the designated slot on the MC bus of the remote computer. Then, the designated resource of the remote computer receives the data.
U.S. Pat. No. 5,781,726 to Preira, entitled xe2x80x9cManagement of Polling Traffic in Connection Oriented Sessionsxe2x80x9d, is directed to a system for connecting an end station in a first local area network (LAN), to an end station in a second (LAN). The first LAN is connected to a central node (CN), and the second LAN is connected to a leaf node (LN). The CN and the LN are interconnected by an intermediate session link. An end station in the first LAN establishes connection with an end station in the second LAN, by a first link session, the intermediate session link, and a second link session. The first link session connects the end station in the first LAN to the CN, and the second link session connects the LN to an end station in the second LAN.
U.S. Pat. No. 5,748,626 to Esaki, et al., entitled xe2x80x9cATM Communication System With High Speed Connection-Less Service Functionxe2x80x9d, is directed to a system for transferring ATM cells between a plurality of ATM networks, equipped with connection-less service function. The ATM networks are interconnected by an inter-networking unit (IWU). The IWU unit includes an ATM switch of N inputs and M outputs, a call processing unit and an IWU management unit connected to the ATM switch. The IWU unit further includes N input processing units for entering inputs from N ATM networks, and M output processing units for outputting outputs to M ATM networks. The call processing unit sets up, cuts off, changes, and manages the ATM connection over the IWU. The IWU management unit manages and controls the IWU.
Each of the input processing units analyzes the header value of the entering ATM cell, converts the header value if necessary, and attaches a routing tag for appropriate routing of the ATM cell. Each of the output processing units removes the routing tag from the cell, and converts the header value if necessary. The ATM switch switches the outputs of the N input processing units, the call processing unit, and the IWU management unit, into the inputs of the M output processing units, the call processing unit, and the IWU management unit.
It is an object of the present invention to provide a novel method and system for managing a broadband network, which overcomes the disadvantages of the prior art.
In accordance with the present invention, there is thus provided a system for switching packets. The system includes a plurality of input ports, a plurality of non-addressable stream output ports, and a multiple port switch. The input ports include at least one non-addressable stream input port. The multiple port switch is connected between the non-addressable stream input ports, and the non-addressable stream output ports.
The multiple port switch directs a packet which it receives from a non-addressable stream input port, to a non-addressable stream output port. The multiple port switch selects the non-addressable stream output port, according to the type and identity of the non-addressable stream input port, and the program identification information embedded in the received packet.
The system can further include a priority controller, connected to the multiple port switch, and at least one media degradation unit, wherein each of the media degradation units is coupled to each of the non-addressable stream output ports. It is noted, that the non-addressable stream input port is operative to receive MPEG transport packets.
The system can further include at least one addressable stream communication port, connected to the multiple port switch. The multiple port switch directs a packet, which it receives from an addressable stream communication port, to the non-addressable stream output port. It is noted, that the addressable stream input port can be operative to receive Ethernet packets or IP packets. The non-addressable stream output port encapsulates the packet in a non-addressable stream packet, when the packet is received from one of the addressable stream input ports.
The MPEG transport packets are encapsulated into communication packets respective of the communication protocol of the multiple port switch. The non-addressable stream input port includes an interface that carries multi program transport streams (such as DVB/ASI and DHEI), wherein each of the non-addressable stream output ports includes an interface that carries multi program transport streams (such as DVB/ASI and DHEI). Furthermore, each of the addressable stream input ports includes a data input port (e.g., fast Ethernet, Giga-bit Ethernet, ATM and the like).
The system can further include a plurality of stream processors, wherein each stream processor is connected between the multiple port switch, and a respective non-addressable stream output port. Each stream processor can perform a variety of procedures such as multiplexing, re-multiplexing, rate adaptation, PID re-mapping, PCR re-stamping, updating system information embedded in transport streams, and the like.
In accordance with another aspect of the present invention, there is thus provided a method for switching packets. The method includes the steps of receiving a packet from an input port, selecting a non-addressable stream output port, and directing the packet to the non-addressable stream output port. The non-addressable stream output port is selected according to the type and identity of the input port, and the program identification information embedded in the received packet. It is noted, that the input port can be a non-addressable stream output port, an addressable stream input port, and the like.
The method can further include the step of prioritizing the directing of the session associated with the received packet, and encapsulating the packet in a non-addressable stream packet, when the packet is received from an addressable stream input port. The method further includes the step of encapsulating the packet in an addressable stream packet, when the packet is received from a non-addressable stream input port. The non-addressable stream packet can include an MPEG transport packet, and the addressable stream packet can include a data packet.
The method can further include the step of stream processing the packet, wherein the step of stream processing includes procedures such as multiplexing, re-multiplexing, rate adaptation, PID re-mapping, PCR re-stamping, updating system information embedded in transport streams, and the like.
In accordance with a further aspect of the present invention, there is thus provided a method for switching packets. The method includes an initial step of receiving a packet from an input port. When the packet is received from the non-addressable stream input port, the method includes the steps of detecting identity information associated with the received packet, determining at least one destination port according to the identity information, and embedding the packet in an addressable stream packet, with a header directed to the destination port. The method further includes the step of directing the data packet to the destination port. It is noted, that the input port can be a non-addressable stream input port, an addressable stream input port, and the like. Prior to the step of directing, the method can further include the step of determining the received packet, wherein a data packet has at least one destination port when the packet is received from an addressable stream input port.
The identity information can include the identity of a non-addressable stream port which receives the packet, the identity of a media stream associated with the packet, the identity of a media stream associated with the packet, and the like. The method can further include the step of stream processing the packet, which includes a variety of procedures such as, multiplexing, re-multiplexing, rate adaptation, PID re-mapping, PCR re-stamping, updating system information embedded in transport streams, and the like. It is noted, that the non-addressable stream packet can include an MPEG transport packet, and the addressable stream packet can include a data packet.
In accordance with another aspect of the present invention, there is thus provided a broadband multimedia system. The broadband multimedia system includes a communication bus, a router, and a session manager. The router is connected to the communication bus, and further between a plurality of media sources, and a plurality of network transmitters. The session manager is connected to the communication bus. The session manager provides routing instructions to the router, for directing data received from the media sources to the network transmitters, for transmitting over a broadband network.
The broadband multimedia system can further include a policy database, connected to the communication bus, wherein the session manager produces the routing instructions, according to policy information retrieved from the policy database. The policy database can include general policy rules, network policy rules, and the like. The broadband multimedia system can further include a bandwidth utilization detection unit, connected to the communication bus, wherein the session manager produces the routing instructions according to bandwidth utilization information, received from the bandwidth utilization detection unit.
The broadband multimedia system can further include a network management system, connected to the communication bus, wherein the session manager produces the routing instructions according to bandwidth network management information, received from the network management system. The broadband multimedia system can further include a dynamic network restructuring unit, connected to the communication bus. The network transmitters are further connected to the communication bus, and the dynamic network restructuring unit provides channel managing commands to each of the network transmitters, receiving data from the router.
The session manager receives a plurality of session requests, for executing a session through the broadband multimedia system. The session manager either allows or denies each session request. The session manager further provides resource allocation parameters for each of the allowed sessions. The broadband multimedia system can further include an RF switch, connected to the communication bus, and between the network transmitters and a plurality of RF combiners. The RF switch directs RF signals from the network transmitters to the RF combiners.
The broadband multimedia system can further include a dynamic network restructuring system, connected to the communication bus. The dynamic network restructuring system provides switching commands to the RF switch for directing the RF signals. The network transmitters can be QAM units. The broadband network can be an HFC network, a DSL network, a satellite network, a wired network, a wireless network, and the like.
In accordance with a further aspect of the present invention, there is thus provided a network session management system. The network session management system includes a session manager, coupled to at least one application manager, and at least one policy database. The session manager receives session requests, and denies the session request when it detects non-compliance of the session request, with the policy rule retrieved from the policy database.
The network session management system can further include a shared area manager, coupled to the session manager. The shared area manager produces a session denial indication, when it detects non-compliance of the session request with predetermined shared area policy rules. The network session management system can further include a dynamic network restructuring unit, coupled to the shared area manager. The dynamic-network-restructuring unit produces a session denial indication, when it detects non-compliance of the bandwidth required in the session request and available network bandwidth.
The network restructuring unit determines network resources to session request session denial indication, when it detects compliance of the bandwidth required in the session request, and available network bandwidth. The session manager authorizes the session request when it detects compliance with the policy rules retrieved from the policy database, and when it receives a session approval indication from the shared area manager. The session manager further assigns the determined network resources to the session request, and available network bandwidth.
The session manager is further coupled to an out of band manager, wherein the session manager receives at least one of the session requests from the out of band manager. The policy database can be a general policy database, a network policy database, a sub-network policy database, a target policy database, an external application policy database, and the like. The session manager is further coupled to additional information resources. The session manager denies the session requests when it detects non-compliance of the session request with a parameter retrieved from the additional information resources.
In accordance with another aspect of the present invention, there is thus provided a method for managing sessions. The method includes the steps of denying an init-session request, when detecting non-compliance of the init-session request with at least one general policy rule, and authorizing the init-session request when the init-session request is not denied. The method further includes the step of denying the init-session request, when detecting non-compliance of the init-session request with at least one network policy rule. The method can further include the step of authorizing the init-session request when the init-session request is not denied, and denying the init-session request when detecting non-compliance of the init-session request with at least one bandwidth usage policy rule. The method can further include the step of authorizing the init-session request when the init-session request is not denied, and denying the init-session request when detecting non-compliance of the init-session request with available channels and bandwidth (e.g., when the requested resources are greater than the available resources).
The method can further include the steps of denying the init-session request when detecting non-compliance of the init-session request with available channels and bandwidth, and authorizing the init-session request when the init-session request is not denied. The method can further include the steps of assigning at least one channel and bandwidth within the channel, to the init-session request when the init-session request is not denied, and launching a session associated with the init-session request.
The step of launching can include the sub procedures of operating an input module receiving the session, according to approved session information, and operating a switching module switching the session, according to approved session information. The step of launching can further include the sub procedure of operating at least one output module through which the session is to be directed, according to approved session information.
In accordance with another aspect of the present invention, there is thus provided a method for managing sessions at a shared area level. The method includes the step of denying an init-session request, when detecting non-compliance of the init-session request with at least one shared area session policy rule. The method can further include the step of determining if the bandwidth requirement of the session associated with the init session request, is no greater than the available bandwidth within channels of the shared area. The method can further include the step of detecting an additional channel to be assigned to the shared area, when the bandwidth requirement are greater than the available bandwidth within the channels of the shared area. The method can further include the step of denying an init-session request, when the additional channel can not be detected, or when the additional channel can not be added to the shared area.
The method can further include the steps of assigning an optimal channel to the shared area, from channels of the shared area network, and providing session parameters to a channel manager operating the assigned channel. The method can further include the steps of detecting a channel readiness information provided by the channel manager, denying the session when the channel readiness information includes a channel non-readiness indication, and approving the session when the channel readiness information includes a channel readiness indication.
In accordance with another aspect of the present invention, there is thus provided a method for dynamic network restructuring. The method includes the steps of denying an init-session request, when the bandwidth requirement of a session associated with the init-session request, is greater than the available bandwidth within the shared area, and denying the init-session request, when the channel equipment requirement of the session, is unavailable within the shared area.
The method can further include the steps of allocating channel and bandwidth for the session, and denying the init-session request when the RF equipment requirement of the session, is unavailable RF equipment within the shared area. The method can further include the step of determining an RF route for the session. This step can be performed by hardware switching.
In accordance with a further aspect of the present invention, there is thus provided a packet switch system. The packet switch system includes a packet switch engine, a downstream re-multiplexing engine, and a plurality of media-access controllers. The downstream re-multiplexing engine is coupled to the packet switch engine, and to a plurality of downstream transmit units. The media-access controllers are coupled to the downstream re-multiplexing engine, to the packet switch engine, and to upstream channels. The media-access controllers provide packets received from the upstream channels, either to the downstream re-multiplexing engine, or to the packet switch engine, according to packet content type and packet original destination.
The packet switch system can further include an upstream switch coupled between the media-access controllers and the upstream channels. The upstream switch dynamically directs packets from upstream channels to the media-access controllers. The packet switch engine is further coupled to a data network. The data network can be an IP network. The downstream transmit units are further coupled to a broadband network, including in-band channels and out-of-band channels. The packet switch engine is further coupled to the out-of-band channels, via a data link. The out-of-band channels can be determined out-of-band channels, and the data link comprises an IP interface.
The packet switch system can further include a rate adaptation statistical multiplexor engine, coupled to the packet switch engine, and a processor coupled to the packet switch engine. The packet switch system can further include a processor, coupled to the packet switch engine, and a processor, coupled to the packet switch engine.
The processor can determine and control the load balancing between competing communication elements, and it can provide parameters there according, to the downstream re-multiplexing engine, the rate adaptation statistical multiplexor engine, and the media-access controllers. The processor can further determine transmit priority to each session, transmitted through the downstream re-multiplexing engine, detect over all transmit load, and control the transmitting order and quality of the sessions.
In accordance with a further aspect of the present invention, there is thus provided a method for directing a packet in a communication switching system. The method includes the step of rate adapted multiplexing the packet, over data-over-broadband (e.g., DOCSIS) network transmission, when the packet is a part of a media session over data-over-broadband network transmission, authorized for rate adaptation multiplexing. The method can further include the step of rate adapted multiplexing the packet, over media-over-broadband (e.g., MPEG transport) network transmission, when the packet is a part of a media session over media-over-broadband network transmission, authorized for rate adaptation multiplexing.
The method can further include the step of multiplexing the packet, over media-over-broadband network transmission, when the packet is a part of a media session over media-over-broadband network transmission, not authorized for rate adaptation. The method can further include the step of encapsulating the packet and re-multiplexing the encapsulated packet for further transmission, when the packet is directed to a non-DOCSIS network transmission end unit, supporting in-band channels. The method can further include the step of directing the packet to an out-of-band channel, when the packet is directed to a non DOCSIS network transmission end unit, not supporting in-band channels.
The method can further include the step of directing the packet to a selected media-access controller, and further re-multiplexing the packet for further transmission, when the packet is directed to a cable modem. The method can further include the steps of determining a packet destination according to session management determination, or external network resources, directing the packet to the packet destination when the packet destination is determined, and discarding the packet when the packet destination can not be determined. The method can further include the steps of assigning priority to each session, associated with a received packet, detecting transmit system load, and controlling the session transmit order and quality according to the detected transmit system load.
The method can further include the steps of assigning priority to each session associated with a received packet, detecting transmit system load, and controlling the session transmit order and quality according to the detected transmit system load. The media-over-broadband network transmission can include MPEG transport, data-over-cable (DOCSIS) transmission, and the like.